﻿
using Biciq.Web.UI.Clases;
using System.Web.UI;

namespace Biciq.Web.UI.Clases
{
    /// <summary>
    /// Extensiones para una página
    /// </summary>
    public static class ExtensionesPagina
    {
        #region Cosntantes

        private const string Error = "error";
        private const string Noticia = "notice";
        private const string Ok = "success";
        private const string DesplegarMensaje = "DesplegarMensaje";
        private const string ScriptDesplegarMensajeMensaje = "MostrarMensaje('{0}', '{1}', '{2}')";

        #endregion

        /// <summary>
        /// Muestra un mensaje
        /// </summary>
        /// <param name="pagina">
        /// La página a extender la funcionalidad
        /// </param>
        /// <param name="tipoNotificacion">
        /// Tipo de la notificación
        /// </param>
        /// <param name="titulo">
        /// Titulo de la ventana emergente de mensaje
        /// </param>
        /// <param name="mensaje">
        /// Mensaje que se desea desplegar
        /// </param>
        public static void MostrarMensaje(this Page pagina, TipoNotificacion tipoNotificacion, string titulo, string mensaje)
        {
            var tipo = string.Empty;

            switch (tipoNotificacion)
            {
                case TipoNotificacion.Error:
                    tipo = Error;
                    break;
                case TipoNotificacion.Notificacion:
                    tipo = Noticia;
                    break;
                case TipoNotificacion.Ok:
                    tipo = Ok;
                    break;
            }

            var script = string.Format(ScriptDesplegarMensajeMensaje, tipo, titulo, mensaje);
            ScriptManager.RegisterStartupScript(pagina, pagina.GetType(), DesplegarMensaje, script, true);
        }
    }
}